/**
* \brief 
* \author pengcheng (pengcheng@yslrpch@126.com)
* \date 2020-05-30
* \attention CopyrightÃ‚Â©ADC Technology(tianjin)Co.Ltd
* \attention Refer to COPYRIGHT.txt for complete terms of copyright notice
*/

#ifndef IMAGE_DETECTOR_H__
#define IMAGE_DETECTOR_H__

#include <vector>
#include <memory>
#include <opencv2/core/core.hpp>

#include "detection_vision/impl/bbox2d.hpp"

namespace detection
{
template<typename Scalar>
class DetectorBase
{
public:
    using Prt = std::shared_ptr<DetectorBase>;
    using ConstPtr = std::shared_ptr<const DetectorBase>;
    using ImageBBox2dType = ImageBBox2D<Scalar>;

    DetectorBase(){}
    virtual ~DetectorBase(){}
    virtual bool Detect(cv::Mat&, std::vector<ImageBBox2dType>&)
    {
        return true;
    }
    virtual bool Detect(std::vector<cv::Mat>&, std::vector<std::vector<ImageBBox2dType>>&)
    {
        return true;
    }


};
}
#endif